Dynamic Data Binding Angular অ্যাপ্লিকেশনগুলিতে ডেটার পরিবর্তনকে স্বয়ংক্রিয়ভাবে UI (User Interface)-এ প্রতিফলিত করার একটি শক্তিশালী ফিচার। এটি UI এবং ডেটার মধ্যে সরাসরি সম্পর্ক তৈরি করে, যার মাধ্যমে আপনি ডেটা পরিবর্তন করলে তা UI তে তৎক্ষণাত পরিবর্তিত হয়। Google Charts বা অন্য যেকোনো ডেটা ভিজুয়ালাইজেশন লাইব্রেরিতে এই ডাইনামিক ডেটা বাইন্ডিং ব্যবহার করা হয় যাতে ডেটা রিয়েল-টাইমে পরিবর্তিত হলে তা চার্টে দেখানো যায়।
Angular-এ Data Binding তিন ধরনের হতে পারে:
আমরা এখানে Dynamic Data Binding এর মাধ্যমে Google Charts API তে ডেটা পরিবর্তন এবং আপডেট দেখানোর পদ্ধতি জানাব।
Google Charts API-তে Dynamic Data Binding এর মাধ্যমে আপনি চার্টের ডেটাকে পরিবর্তন করতে পারবেন এবং তা UI তে তৎক্ষণাত আপডেট হবে। Angular-এ ngModel বা Event Binding ব্যবহার করে আপনি ডেটা আপডেট করতে পারেন, এবং তা Google Chart-এ প্রভাব ফেলবে।
ধরা যাক, আমরা একটি Pie Chart তৈরি করছি এবং ইউজার একটি বাটন ক্লিক করলে ডেটা পরিবর্তন হবে, তখন চার্টও রিয়েল-টাইমে আপডেট হবে।
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Dynamic Google Chart Example';
// Chart Type: PieChart
chartType = 'PieChart';
// Default Chart Data
chartData = [
['Task', 'Hours per Day'],
['Work', 8],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 8]
];
// Chart Options
chartOptions = {
title: 'My Daily Activities',
pieHole: 0.4, // Doughnut Style
width: 600,
height: 400
};
// Function to Update Chart Data
updateChartData() {
this.chartData = [
['Task', 'Hours per Day'],
['Work', 6],
['Eat', 3],
['Commute', 2],
['Watch TV', 1],
['Sleep', 12]
];
}
}
<h1>{{ title }}</h1>
<!-- Google Chart Component -->
<google-chart
[type]="chartType"
[data]="chartData"
[options]="chartOptions">
</google-chart>
<!-- Button to Update Chart Data -->
<button (click)="updateChartData()">Update Chart Data</button>
এখানে, updateChartData() ফাংশনটি একটি নতুন ডেটা অ্যারে প্রদান করছে। যখন আপনি "Update Chart Data" বাটন ক্লিক করবেন, তখন নতুন ডেটা chartData তে সেট হবে এবং এটি Pie Chart-এ স্বয়ংক্রিয়ভাবে আপডেট হবে।
(click)="updateChartData()"
এর মাধ্যমে আমরা বাটন ক্লিক করলে updateChartData() ফাংশন কল করতে বলছি। এই ইভেন্ট বাইন্ডিংয়ের মাধ্যমে ডেটা পরিবর্তন হয় এবং চিত্র আপডেট হয়।আপনি যদি ডেটাকে ইনপুট ফিল্ড বা স্লাইডার থেকে ডায়নামিকভাবে আপডেট করতে চান, তবে ngModel ব্যবহার করতে পারেন। এই ফিচারটি ইউজার ইন্টারঅ্যাকশন অনুযায়ী ডেটা পরিবর্তন করতে সহায়তা করে।
<input [(ngModel)]="chartData[0][1]" />
এখানে, ngModel
ব্যবহার করে ইনপুট ফিল্ডে ইউজার যে ভ্যালু দেবেন তা সরাসরি chartData
অ্যারেতে প্রবাহিত হবে এবং সেই অনুযায়ী চার্টটি আপডেট হবে।
Event Binding-এর মাধ্যমে আপনি একটি ডেটা আপডেট ফাংশন কল করতে পারেন, যেমন:
<button (click)="updateChartData()">Update Data</button>
Dynamic Data Binding Angular অ্যাপ্লিকেশনগুলিতে ডেটা এবং UI এর মধ্যে সংযোগ স্থাপন করে, যা একে অপরকে আপডেট এবং রিফ্রেশ করতে সাহায্য করে। Google Charts API এর মাধ্যমে আপনি সহজেই রিয়েল-টাইম ডেটা পরিবর্তন এবং আপডেট করতে পারেন এবং সেই ডেটা সঠিকভাবে চার্টে প্রতিফলিত হবে। Angular এর এই ফিচারটি আপনাকে আরও ইন্টারঅ্যাকটিভ এবং ডায়নামিক ডেটা ভিজুয়ালাইজেশন তৈরি করতে সহায়তা করে।
Dynamic Data চার্টে প্রদর্শিত ডেটা যখন রিয়েল-টাইমে পরিবর্তিত হয়, তখন চার্টটি স্বয়ংক্রিয়ভাবে আপডেট হয়। Angular এবং Google Charts ব্যবহার করে, আপনি ডাইনামিক ডেটা তৈরি এবং প্রদর্শন করতে পারেন। এখানে আমরা দেখব কিভাবে ডাইনামিক ডেটা তৈরি করে তা Google Charts-এ ব্যবহার করা যায়।
প্রথমে, একটি Angular অ্যাপ তৈরি করুন (যদি ইতিমধ্যে তৈরি থাকে, তবে সেটি ব্যবহার করতে পারেন):
ng new dynamic-chart-app
cd dynamic-chart-app
এখন, Google Charts ইন্টিগ্রেট করতে angular-google-charts লাইব্রেরি ইন্সটল করতে হবে। ইন্সটল করার জন্য নিচের কমান্ডটি ব্যবহার করুন:
npm install angular-google-charts
এটি ইনস্টল হওয়ার পর, angular-google-charts লাইব্রেরি আপনার node_modules
ফোল্ডারে যুক্ত হয়ে যাবে।
এখন, আপনার অ্যাপ্লিকেশনে GoogleChartsModule ব্যবহার করতে, app.module.ts
ফাইলে এটি ইমপোর্ট করুন:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { GoogleChartsModule } from 'angular-google-charts'; // GoogleChartsModule ইমপোর্ট
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
GoogleChartsModule // এখানে GoogleChartsModule যোগ করুন
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
এখন, app.component.ts
ফাইলে ডাইনামিক ডেটা তৈরি করা হবে এবং সময়ের সাথে সেটি আপডেট করা হবে। আমরা একটি Pie Chart উদাহরণ হিসেবে ব্যবহার করব এবং ডেটা আপডেট করার জন্য একটি ফাংশন তৈরি করব।
app.component.ts
ফাইল:import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Dynamic Google Chart';
chartType = 'PieChart'; // Chart Type
chartData = [
['Task', 'Hours per Day'],
['Work', 8],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 8]
]; // Initial Chart Data
chartOptions = {
title: 'My Daily Activities',
pieHole: 0.4, // Doughnut Style
width: 600,
height: 400
}; // Chart Options
// Function to update the data dynamically
updateChartData() {
this.chartData = [
['Task', 'Hours per Day'],
['Work', Math.floor(Math.random() * 10)], // Randomizing 'Work' value
['Eat', Math.floor(Math.random() * 10)], // Randomizing 'Eat' value
['Commute', Math.floor(Math.random() * 10)], // Randomizing 'Commute' value
['Watch TV', Math.floor(Math.random() * 10)], // Randomizing 'Watch TV' value
['Sleep', Math.floor(Math.random() * 10)] // Randomizing 'Sleep' value
];
}
}
এখানে, chartData একটি অ্যারে হিসাবে শুরু করা হয়েছে, এবং updateChartData() ফাংশনটি চারটি মান র্যান্ডমভাবে পরিবর্তন করবে, যা Math.random() ফাংশনের মাধ্যমে রিয়েল-টাইমে আপডেট হবে।
app.component.html
ফাইল:<h1>{{ title }}</h1>
<!-- Google Chart কম্পোনেন্ট -->
<google-chart
[type]="chartType"
[data]="chartData"
[options]="chartOptions">
</google-chart>
<!-- একটি বাটন যা ডেটা আপডেট করবে -->
<button (click)="updateChartData()">Update Chart Data</button>
এখানে একটি বাটন রয়েছে, যা ক্লিক করলে updateChartData() ফাংশন কল হবে এবং ডেটা আপডেট হবে। নতুন ডেটা স্বয়ংক্রিয়ভাবে চার্টে রিফ্লেক্ট হবে।
এখন Angular অ্যাপ্লিকেশনটি চালানোর জন্য নিচের কমান্ডটি ব্যবহার করুন:
ng serve
এটি ডিফল্টভাবে অ্যাপ্লিকেশনটি http://localhost:4200
এ রান করবে। ব্রাউজারে গিয়ে আপনি আপনার Pie Chart দেখতে পারবেন এবং বাটন ক্লিক করার সাথে সাথে ডাইনামিক ডেটা আপডেট হতে দেখবেন।
Angular-এ Dynamic Data পরিবর্তন করার মাধ্যমে, আপনি Pie Chart, Bar Chart, Line Chart, বা অন্য যে কোনও চার্টে রিয়েল-টাইম ডেটা আপডেট করতে পারবেন। এর মাধ্যমে, আপনি ব্যবহারকারীদের জন্য ইন্টারঅ্যাকটিভ এবং ডাইনামিক ভিজুয়ালাইজেশন তৈরি করতে পারবেন।
এভাবে, আমরা Google Charts API ব্যবহার করে Angular অ্যাপে Dynamic Data তৈরি এবং আপডেট করেছি। arrayToDataTable ব্যবহার করে ডেটা কাস্টমাইজ এবং পরিবর্তন করা সম্ভব। এক্সাম্পল হিসাবে, আমরা একটি Pie Chart তৈরি করেছি এবং Math.random() ফাংশন ব্যবহার করে ডেটাকে রিয়েল-টাইমে পরিবর্তন করেছি। Angular এর event binding এবং data binding ব্যবহার করে সহজেই ডেটার পরিবর্তন চার্টে প্রতিফলিত করতে সক্ষম হয়েছি।
Angular এর মাধ্যমে Google Charts-এ ডেটা ফেচ করা এবং তা চার্টে প্রদর্শন করা একটি সাধারণ এবং শক্তিশালী প্রক্রিয়া। আমরা একটি REST API বা অন্য কোন external API থেকে ডেটা ফেচ করতে পারি এবং সেই ডেটা Google Charts এর মাধ্যমে ভিজুয়ালাইজ করতে পারি। এই প্রক্রিয়াতে HttpClient মডিউল ব্যবহার করা হয় ডেটা ফেচ করার জন্য এবং Data Binding এর মাধ্যমে সেই ডেটা চার্টে ব্যবহার করা হয়।
এখানে একটি উদাহরণ দেওয়া হলো যেখানে আমরা API থেকে ডেটা ফেচ করে এবং সেটি Google Chart-এ Data Binding এর মাধ্যমে প্রদর্শন করব।
প্রথমে Angular অ্যাপে HttpClient মডিউল ইমপোর্ট করতে হবে যাতে আমরা API থেকে ডেটা ফেচ করতে পারি।
app.module.ts
ফাইল:import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { HttpClientModule } from '@angular/common/http'; // HttpClientModule ইমপোর্ট করা হয়েছে
import { AppComponent } from './app.component';
import { GoogleChartsModule } from 'angular-google-charts';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
HttpClientModule, // HttpClientModule এখানে যোগ করা হয়েছে
GoogleChartsModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
এটি ইমপোর্ট করার পর আমরা HttpClient ব্যবহার করতে পারব।
এখন, আমরা HttpClient ব্যবহার করে একটি API থেকে ডেটা ফেচ করব এবং সেই ডেটা Google Charts এর জন্য প্রস্তুত করব।
app.component.ts
ফাইল:import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http'; // HttpClient ইমপোর্ট করা হয়েছে
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
title = 'Google Charts - API Data Fetch';
chartType = 'PieChart'; // Chart Type
chartData: any[] = []; // Chart Data (Initially empty)
chartOptions = {
title: 'API Data Visualization',
pieHole: 0.4,
width: 600,
height: 400
};
// API URL
apiUrl = 'https://jsonplaceholder.typicode.com/posts'; // API URL যা থেকে ডেটা ফেচ করা হবে
// HttpClient ইনজেক্ট করা
constructor(private http: HttpClient) {}
// API থেকে ডেটা ফেচ করার জন্য ngOnInit হুক ব্যবহার
ngOnInit() {
this.fetchDataFromAPI();
}
// API থেকে ডেটা ফেচ করা
fetchDataFromAPI() {
this.http.get<any[]>(this.apiUrl).subscribe(data => {
// ডেটা প্রসেস করে chartData তে বাইন্ডিং
this.chartData = data.map(item => [item.title, item.id]); // Title এবং ID নির্বাচন করে chartData তে পরিবর্তন
});
}
}
এখানে, this.http.get<any[]>(this.apiUrl)
দ্বারা আমরা একটি API থেকে ডেটা ফেচ করেছি। ফেচ করার পর ডেটা this.chartData
এ ম্যাপ করা হয়েছে, যেখানে item.title এবং item.id ব্যবহৃত হচ্ছে, যা চার্টে প্রদর্শিত হবে।
এখন, আমরা app.component.html
ফাইলে ফেচ করা ডেটা দিয়ে Google Chart তৈরি করব। যখন ডেটা API থেকে আসবে, তখন তা Data Binding এর মাধ্যমে Google Chart এ প্রদর্শিত হবে।
app.component.html
ফাইল:<h1>{{ title }}</h1>
<!-- Google Chart কম্পোনেন্ট -->
<google-chart
[type]="chartType"
[data]="chartData"
[options]="chartOptions">
</google-chart>
এখানে, google-chart
কম্পোনেন্টে [data]="chartData" ব্যবহার করে আমরা API থেকে ফেচ করা ডেটা বাইন্ড করছি।
এখন, অ্যাপ্লিকেশনটি চালাতে নিচের কমান্ডটি ব্যবহার করুন:
ng serve
এটি ডিফল্টভাবে অ্যাপ্লিকেশনটি http://localhost:4200
এ রান করবে। ব্রাউজারে গিয়ে আপনি আপনার Google Chart দেখতে পারবেন, যা API থেকে ফেচ করা ডেটা ব্যবহার করে প্রদর্শিত হবে।
আপনি চাইলে Data Binding এর মাধ্যমে API থেকে প্রাপ্ত ডেটার স্ট্রাকচার কাস্টমাইজ করতে পারেন। উদাহরণস্বরূপ, আপনি যদি বিভিন্ন কলাম থেকে ডেটা প্রদর্শন করতে চান, তবে তা খুব সহজে map ফাংশন ব্যবহার করে করা সম্ভব।
this.chartData = data.map(item => [item.userId, item.title, item.body]);
এখানে, আমরা userId, title, এবং body কে চার্টের ডেটা হিসাবে ব্যবহার করেছি।
API থেকে ডেটা ফেচ করা এবং Data Binding একটি শক্তিশালী টুল যা Angular অ্যাপ্লিকেশনগুলোতে ডাইনামিক ডেটা ভিজুয়ালাইজেশন সম্ভব করে। HttpClient ব্যবহার করে আপনি যে কোনো REST API থেকে ডেটা ফেচ করতে পারেন এবং সেটি Google Charts এ Data Binding এর মাধ্যমে প্রদর্শন করতে পারেন। এই প্রক্রিয়া ডেটাকে আরও ইন্টারঅ্যাকটিভ এবং রিয়েল-টাইমে দেখতে সাহায্য করে।
Google Charts API ব্যবহার করে আপনি রিয়েল-টাইম ডেটা আপডেট করতে পারেন এবং সেই অনুযায়ী চার্টটি রিফ্রেশ করতে পারেন। সাধারণত, যখন ডেটা পরিবর্তিত হয়, তখন আমরা Chart Refresh বা Re-drawing the Chart করি যাতে ব্যবহারকারী সর্বশেষ ডেটা দেখতে পারে। Angular অ্যাপ্লিকেশনে রিয়েল-টাইম ডেটা আপডেট এবং চার্ট রিফ্রেশ করার প্রক্রিয়া নিচে দেখানো হলো।
ধরা যাক, আপনি একটি Pie Chart তৈরি করেছেন এবং আপনার চার্টটি রিয়েল-টাইম ডেটা অনুযায়ী আপডেট করতে চান। এখানে আপনি Angular এর মধ্যে setInterval অথবা WebSocket ব্যবহার করতে পারেন যাতে ডেটা প্রতি নির্দিষ্ট সময় পরপর আপডেট হয় এবং সেই অনুযায়ী চার্ট রিফ্রেশ হয়।
প্রথমে, angular-google-charts ইন্সটল করুন এবং প্রয়োজনীয় কনফিগারেশন সেট করুন, যেমন আগের উদাহরণে আলোচনা করা হয়েছে।
npm install angular-google-charts
এখন, আমরা Pie Chart ডেটা প্রতি 5 সেকেন্ডে আপডেট করব এবং সেই অনুযায়ী চার্ট রিফ্রেশ করব।
app.component.ts
ফাইল:import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
title = 'Real-Time Google Chart Update';
chartType = 'PieChart'; // Chart Type: Pie Chart
chartData = [
['Task', 'Hours per Day'],
['Work', 8],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 8]
]; // Initial Data
chartOptions = {
title: 'My Daily Activities',
pieHole: 0.4,
width: 600,
height: 400
};
constructor() {}
ngOnInit() {
// Real-time Data Update every 5 seconds
setInterval(() => {
this.updateChartData(); // Update chart data every 5 seconds
}, 5000); // 5000 milliseconds = 5 seconds
}
// Function to simulate real-time data update
updateChartData() {
// Randomly changing data for demo purposes
this.chartData = [
['Task', 'Hours per Day'],
['Work', Math.floor(Math.random() * 10) + 1],
['Eat', Math.floor(Math.random() * 4) + 1],
['Commute', Math.floor(Math.random() * 5) + 1],
['Watch TV', Math.floor(Math.random() * 4) + 1],
['Sleep', Math.floor(Math.random() * 10) + 4]
];
// Trigger chart redraw with updated data
this.redrawChart();
}
// Function to trigger chart redraw
redrawChart() {
// Simply triggering Angular change detection to redraw the chart
// Google Chart will automatically update the data when it changes
}
}
এখন, app.component.html
ফাইলে Google Chart কম্পোনেন্ট রেন্ডার করুন।
app.component.html
ফাইল:<h1>{{ title }}</h1>
<!-- Google Chart কম্পোনেন্ট -->
<google-chart
[type]="chartType"
[data]="chartData"
[options]="chartOptions">
</google-chart>
এখন, setInterval()
ব্যবহার করা হয়েছে যাতে প্রতি 5 সেকেন্ডে updateChartData() ফাংশনটি কল হয় এবং ডেটা আপডেট হয়ে চার্ট রিফ্রেশ হয়। এখানে, Math.random() ফাংশন ব্যবহার করে আমরা ডেটাকে রিয়েল-টাইমে পরিবর্তন করছি, তবে প্রকৃত প্রজেক্টে আপনি একটি API বা ডেটাবেস থেকে রিয়েল-টাইম ডেটা নিয়ে আসতে পারেন।
প্রকৃত অ্যাপ্লিকেশনে আপনি API বা WebSocket ব্যবহার করে রিয়েল-টাইম ডেটা সংগ্রহ করতে পারেন। উদাহরণস্বরূপ, আপনি WebSocket অথবা HTTP request এর মাধ্যমে ডেটা সংগ্রহ করবেন এবং সেই ডেটাকে চার্টে আপডেট করবেন।
import { WebSocketSubject } from 'rxjs/webSocket';
export class AppComponent implements OnInit {
private socket$ = new WebSocketSubject('wss://your-websocket-url');
constructor() {}
ngOnInit() {
this.socket$.subscribe((data) => {
this.chartData = data; // Update chart data with WebSocket data
this.redrawChart(); // Redraw the chart with updated data
});
}
redrawChart() {
// Trigger chart redraw based on WebSocket data
}
}
Real-Time Data Update এবং Chart Refresh করার জন্য, Angular অ্যাপে Google Charts ব্যবহার করে আপনি setInterval() অথবা WebSocket ব্যবহার করে ডেটা প্রতি নির্দিষ্ট সময় পরপর আপডেট করতে পারেন এবং সেই অনুযায়ী চার্ট রিফ্রেশ করতে পারেন। এই প্রক্রিয়া আপনাকে রিয়েল-টাইম ডেটা ভিজুয়ালাইজেশন এবং ইন্টারঅ্যাকটিভ চার্ট তৈরি করার সুযোগ দেয়।
Angular Services ব্যবহারের মাধ্যমে আপনি অ্যাপ্লিকেশনের মধ্যে ডেটা ম্যানেজমেন্ট, API কল, বা অন্যান্য লজিকাল কাজ সহজে পরিচালনা করতে পারেন। Data Service একটি সাধারণ Angular Service যা ডেটা প্রক্রিয়াকরণ এবং সরবরাহের জন্য ব্যবহৃত হয়।
এখানে আমরা একটি Data Service তৈরি করব যা API থেকে ডেটা ফেচ করবে এবং সেই ডেটাকে Angular কম্পোনেন্টে প্রদর্শন করবে। এই প্রক্রিয়ায় আমরা HTTP ক্লায়েন্ট (HTTP Client) ব্যবহার করব যা Angular এর HttpClientModule এর অংশ।
প্রথমে একটি নতুন Angular প্রজেক্ট তৈরি করুন, যদি আপনার আগে থেকেই কোনো প্রজেক্ট থাকে, তবে সেটি ব্যবহার করতে পারেন।
ng new data-service-demo
cd data-service-demo
এখন, Angular HttpClient এর মাধ্যমে API কল করার জন্য HttpClientModule কে app.module.ts
ফাইলে ইমপোর্ট করতে হবে।
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { HttpClientModule } from '@angular/common/http'; // HttpClientModule ইমপোর্ট
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
HttpClientModule // HttpClientModule যোগ করা হয়েছে
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
এখন, একটি Data Service তৈরি করুন যা API থেকে ডেটা ফেচ করবে।
ng generate service data
এটি একটি data.service.ts
ফাইল তৈরি করবে। নিচে একটি সাধারণ Data Service উদাহরণ দেওয়া হলো, যেখানে আমরা HttpClient
ব্যবহার করে API থেকে ডেটা ফেচ করব।
data.service.ts
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http'; // HttpClient ইমপোর্ট
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root' // Service গ্লোবালি অ্যাক্সেসযোগ্য
})
export class DataService {
// API URL
private apiUrl = 'https://jsonplaceholder.typicode.com/users';
constructor(private http: HttpClient) { }
// Get data from API
getData(): Observable<any> {
return this.http.get<any>(this.apiUrl); // HTTP GET রিকোয়েস্ট
}
}
এখানে, getData()
মেথডটি একটি HTTP GET রিকোয়েস্ট পাঠাবে এবং Observable রিটার্ন করবে, যা পরে কম্পোনেন্টে সাবস্ক্রাইব করা যাবে।
এখন, আমাদের Data Service কম্পোনেন্টে ব্যবহার করতে হবে। প্রথমে, app.component.ts
ফাইলে DataService ইমপোর্ট করুন এবং getData() মেথড কল করুন।
app.component.ts
import { Component, OnInit } from '@angular/core';
import { DataService } from './data.service'; // DataService ইমপোর্ট
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
title = 'Angular Data Service Example';
data: any[] = []; // Data variable to store the fetched data
constructor(private dataService: DataService) { }
ngOnInit() {
// Calling the service method to fetch data
this.dataService.getData().subscribe(
(response) => {
this.data = response; // Storing the fetched data
},
(error) => {
console.error('Error fetching data', error); // Error handling
}
);
}
}
এখানে, ngOnInit() lifecycle হুক ব্যবহার করা হয়েছে, যা কম্পোনেন্ট লোড হলে getData()
মেথড কল করে ডেটা ফেচ করবে এবং সেই ডেটাকে data ভ্যারিয়েবলে স্টোর করবে।
এখন, app.component.html
ফাইলে ডেটা প্রদর্শন করতে হবে। আমরা ডেটাকে একটি তালিকা আকারে প্রদর্শন করব।
app.component.html
<h1>{{ title }}</h1>
<!-- Display fetched data -->
<ul>
<li *ngFor="let user of data">
{{ user.name }} - {{ user.email }} <!-- Displaying name and email -->
</li>
</ul>
এখানে, ngFor ডিরেক্টিভ ব্যবহার করে আমরা data অ্যারে থেকে প্রতিটি ইউজারের নাম এবং ইমেইল দেখাচ্ছি।
এখন, Angular অ্যাপ্লিকেশন চালানোর জন্য নিচের কমান্ডটি ব্যবহার করুন:
ng serve
এটি ডিফল্টভাবে অ্যাপ্লিকেশনটি http://localhost:4200
এ রান করবে। আপনার ব্রাউজারে গিয়ে আপনি API থেকে ফেচ করা ডেটা দেখতে পারবেন।
এই প্রক্রিয়ায়, আমরা Angular এর মাধ্যমে Data Service তৈরি করেছি যা API থেকে ডেটা ফেচ করে এবং সেটি কম্পোনেন্টে প্রদর্শন করে। HttpClient
ব্যবহার করে API কল করার মাধ্যমে Angular অ্যাপ্লিকেশনে ডেটা ইন্টারঅ্যাকশন করা যায়। Observable এর মাধ্যমে ডেটা আসলে subscribe করে সেই ডেটাকে কম্পোনেন্টে প্রদর্শন করা যায়। Data Service ব্যবহার করে ডেটা ম্যানেজমেন্ট এবং API কল করা আরও সহজ হয়ে ওঠে।
Read more